<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/6/20/020
 * Time: 16:36
 */

namespace Common\helper;


class DateHelper
{
    public static function time(){
        $date=$_GET['date']?:date('Y-m-d 00:00:00');// '2017-10-24 00:00:01 ';  选中的是那一天,默认今天
        $timeBegin=strtotime($date);//传入日期的 00:00:00 的时间戳

        //相应天数后的第几天的那天的 时间区间0:0:)-23:59:59
        $dateOfTodayBegin=date('Y-m-d 00:00:00',strtotime($date));
        $dateAfter30DaysBegin=date('Y-m-d 00:00:00',strtotime($date)+(30-1)*24*3600);//从选中日期开始的 往后的 第30天（包括当天）的 时间开始点
        $dateAfter60DaysBegin=date('Y-m-d 00:00:00',strtotime($date)+(60-1)*24*3600);
        $dateAfter90DaysBegin=date('Y-m-d 00:00:00',strtotime($date)+(90-1)*24*3600);
        $dateAfter180DaysBegin=date('Y-m-d 00:00:00',strtotime($date)+(180-1)*24*3600);
        $dateAfter365DaysBegin=date('Y-m-d 00:00:00',strtotime($date)+(365-1)*24*3600);

        $dateOfToday=date('Y-m-d 23:59:59',strtotime($date));
        $dateAfter30Days=date('Y-m-d 23:59:59',strtotime($date)+(30-1)*24*3600);
        $dateAfter60Days=date('Y-m-d 23:59:59',strtotime($date)+(60-1)*24*3600);
        $dateAfter90Days=date('Y-m-d 23:59:59',strtotime($date)+(90-1)*24*3600);
        $dateAfter180Days=date('Y-m-d 23:59:59',strtotime($date)+(180-1)*24*3600);
        $dateAfter365Days=date('Y-m-d 23:59:59',strtotime($date)+(365-1)*24*3600);
    }

    /**
     * 一个月有几天的兼容  方法，可以兼容  由于PHP编译时没有加上--enable-calendar选项而导致的错误问题
     * @param $calendar
     * @param $month
     * @param $year
     * @return false|int|string
     */
    public static function daysInAMonth($calendar, $month, $year){
        if (!function_exists('cal_days_in_month')){
            return date('t', mktime(0, 0, 0, $month, 1, $year));
        } else{
            return cal_days_in_month(CAL_GREGORIAN,$month,$year);//一个月有几天
        }
    }

}